package com.code.soulnetty.modbus.client.message;

import com.code.soulnetty.modbus.biz.msg.Message;
import com.google.common.collect.ImmutableSortedSet;
import org.apache.commons.lang3.tuple.Pair;

/**
 * 协议请求体 抽象类
 * @author lyf
 * @date 2022-12-17 0:28
 */
public interface ProtocolRequest {

    /**
     * 获取是否需要msgId信息
     * {true需要,msgKey}
     * {false不需要,null}
     * @return
     */
    Pair<Boolean, String> msgIdInfo();

    /**
     * 发送数据
     * @return
     */
    byte[] requestByteData();

    /**
     * 请求数据
     * @return
     */
    ImmutableSortedSet<Message> requestData();
}
